Networks have enhanced our ability to communicate and access information by allowing one personal computer to communicate over a network (or network connection) with another personal computer and/or other networking devices, using electronic messages. When transferring an electronic message between personal computers or networking devices, the electronic message will often pass through a protocol stack that performs operations on the data within the electronic message (e.g., packetizing, routing, flow control).
The first major version of addressing structure, Internet Protocol Version 4 (IPv4), is still the dominant protocol of the Internet, although the successor, Internet Protocol Version 6 (IPv6) is being deployed actively worldwide. Currently, both protocol versions of the Internet Protocol Version 4-based (IPv4-based) Internet and the IPv6-based Internet coexist.
During the transition, existing IPv4 applications are able to work with the newer IPv6 enabled application using a dual-stack, which includes both an IPv4 protocol stack and an IPv6 protocol stack. The IPv6 network protocol provides that IPv6 hosts or host devices (for example, image forming apparatuses and other devices) can configure themselves automatically (i.e., stateless address autoconfiguration) when connected to an IPv6 network using ICMPv6 neighbor discovery messages (i.e., Neighbor Discovery Protocol or NDP). When first connected to a network, an IPv6 host sends a link-local multicast neighbor solicitation request advertising its tentative link-local address for double address detection (dad), if no problem is encountered, the host uses the link-local address. The router solicitations are sent (or router advertisements are received depending on timing) to obtain network-layer configuration parameters, and routers respond to such a request with a router advertisement packet that contains network-layer configuration parameters.
IPv6 extension headers carry optional internet layer information. Extension headers are to be examined and processed at the packet's destination only, except for Hop-by-Hop Options, which need to be processed at every intermediate node on the packet's path, including sending and receiving nodes. Extension headers are optional and should only appear at most once, except for the Destination Options header, which may appear twice. However, this is not often the case as firewalls, routers, and middleware boxes can be on the network path, and may drop these packets at their own selection. Thus, the final destination of these packets can rest on the network path (and corresponding intermediate nodes), rather than on the initiator (or receiver) of the data packets.
Accordingly, it would be desirable to have a mechanism, which allows a client or host device, for example, a multi-functional peripheral (MFP) to have improved interoperability with the IPv6 network by optimizing an IPv6 extension headers network path, which can solve various problems inherent with IPv6 extension headers, which may prevent communication between nodes, for example, two nodes within a communication network.